﻿using System;
using System.Data;
using System.Collections.Generic;
using OnlineTestCOMMON;
using OnlineTestDAL;
using OnlineTestModel;
namespace OnlineTestBLL
{
	/// <summary>
	/// students
	/// </summary>
	public partial class StudentsBLL
	{
		private readonly StudentsDAL dal = new StudentsDAL();
		public StudentsBLL()
		{}
		#region  Method

		/// <summary>
		/// 得到最大ID
		/// </summary>
		public int GetMaxId()
		{
			return dal.GetMaxId();
		}

		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(int id)
		{
			return dal.Exists(id);
		}

		/// <summary>
		/// 增加一条数据
		/// </summary>
		public int  Add(Students model)
		{
			return dal.Add(model);
		}

		/// <summary>
		/// 更新一条数据
		/// </summary>
		public bool Update(Students model)
		{
			return dal.Update(model);
		}

		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool Delete(int id)
		{
			
			return dal.Delete(id);
		}
		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool DeleteList(string idlist )
		{
			return dal.DeleteList(idlist );
		}

		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public Students GetModel(int id)
		{
			
			return dal.GetModel(id);
		}

	    /// <summary>
	    /// 根据登录名得到一个对象实体
	    /// </summary>
	    public Students GetModelByUserName(string userName)
	    {
	        return dal.GetModelByUserName(userName);
	    }
	    /// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetList(string strWhere)
		{
			return dal.GetList(strWhere);
		}
		/// <summary>
		/// 获得前几行数据
		/// </summary>
		public DataSet GetList(int Top,string strWhere,string filedOrder)
		{
			return dal.GetList(Top,strWhere,filedOrder);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<Students> GetModelList(string strWhere)
		{
			DataSet ds = dal.GetList(strWhere);
			return DataTableToList(ds.Tables[0]);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<Students> DataTableToList(DataTable dt)
		{
			List<Students> modelList = new List<Students>();
			int rowsCount = dt.Rows.Count;
			if (rowsCount > 0)
			{
				Students model;
				for (int n = 0; n < rowsCount; n++)
				{
					model = new Students();
					if(dt.Rows[n]["id"]!=null && dt.Rows[n]["id"].ToString()!="")
					{
						model.Id=int.Parse(dt.Rows[n]["id"].ToString());
					}
					if(dt.Rows[n]["realname"]!=null && dt.Rows[n]["realname"].ToString()!="")
					{
					model.RealName=dt.Rows[n]["realname"].ToString();
					}
					if(dt.Rows[n]["username"]!=null && dt.Rows[n]["username"].ToString()!="")
					{
					model.UserName=dt.Rows[n]["username"].ToString();
					}
					if(dt.Rows[n]["password"]!=null && dt.Rows[n]["password"].ToString()!="")
					{
					model.PassWord=dt.Rows[n]["password"].ToString();
					}
					if(dt.Rows[n]["classid"]!=null && dt.Rows[n]["classid"].ToString()!="")
					{
					model.ClassId=Convert.ToInt32(dt.Rows[n]["classid"].ToString());
					}
					if(dt.Rows[n]["description"]!=null && dt.Rows[n]["description"].ToString()!="")
					{
					model.Description=dt.Rows[n]["description"].ToString();
					}
					if(dt.Rows[n]["roleid"]!=null && dt.Rows[n]["roleid"].ToString()!="")
					{
						model.RoleId=int.Parse(dt.Rows[n]["roleid"].ToString());
					}
					if(dt.Rows[n]["rolelist"]!=null && dt.Rows[n]["rolelist"].ToString()!="")
					{
					model.RoleList=dt.Rows[n]["rolelist"].ToString();
					}
					if(dt.Rows[n]["status"]!=null && dt.Rows[n]["status"].ToString()!="")
					{
						model.Status=int.Parse(dt.Rows[n]["status"].ToString());
					}
					if(dt.Rows[n]["createtime"]!=null && dt.Rows[n]["createtime"].ToString()!="")
					{
						model.CreateTime=DateTime.Parse(dt.Rows[n]["createtime"].ToString());
					}
					if(dt.Rows[n]["createid"]!=null && dt.Rows[n]["createid"].ToString()!="")
					{
						model.CreateId=int.Parse(dt.Rows[n]["createid"].ToString());
					}
					if(dt.Rows[n]["lastlogintime"]!=null && dt.Rows[n]["lastlogintime"].ToString()!="")
					{
						model.LastLoginTime=DateTime.Parse(dt.Rows[n]["lastlogintime"].ToString());
					}
					modelList.Add(model);
				}
			}
			return modelList;
		}

		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetAllList()
		{
			return GetList("");
		}

		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		public int GetRecordCount(string strWhere)
		{
			return dal.GetRecordCount(strWhere);
		}
		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
		{
			return dal.GetListByPage( strWhere,  orderby,  startIndex,  endIndex);
		}
		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		//public DataSet GetList(int PageSize,int PageIndex,string strWhere)
		//{
			//return dal.GetList(PageSize,PageIndex,strWhere);
		//}

		#endregion  Method
	}
}

